/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.invoice.busines.dto;

import com.invoice.enums.Estado;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 *
 * @author laura
 */
public class ArticuloDTO implements Serializable{
    private Integer idArticulo;
    private SubcategoriaDTO subcategoriaDTO;
    private SubcategoriaDTO subcategoriaUnidadDTO;
    private String code;
    private String descripcion;
    private String marca;
    private BigDecimal precioVenta;
    private BigDecimal precioCompra;
    private Estado estado = Estado.Procedio;
    private BigDecimal stock;
    private Set<ArticulosInventarioDTO> articulosInventario;
    private List<ArticuloCampoDTO> articuloCampoDTOs;
    private Set<ComprobanteDetalleDTO> comprobanteDetalleDTO;
    public void setIdArticulo(Integer idArticulo){
        this.idArticulo=idArticulo;
    }
    public Integer getIdArticulo(){
        return idArticulo;
    }
   
    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }
    public void setDescripcion(String descripcion){
        this.descripcion=descripcion;
    }
    public String getDescripcion(){
        return descripcion;
    }
    public void setMarca(String marca){
        this.marca = marca;
    }
    public String getMarca(){
        return marca;
    }
    public void setPrecioVenta(BigDecimal precioVenta){
        this.precioVenta=precioVenta;
    }
    public BigDecimal getPrecioVenta(){
        return precioVenta;
    }
    public void setPrecioCompra(BigDecimal precioCompra){
        this.precioCompra=precioCompra;
    }
    public BigDecimal getPrecioCompra(){
        return precioCompra;
    }

    public Estado getEstado() {
        return estado;
    }

    public void setEstado(Estado estado) {
        this.estado = estado;
    }

    public void setStock(BigDecimal stock){
        this.stock=stock;
    }
    public BigDecimal getStock(){
        return stock;
    }    

    public SubcategoriaDTO getSubcategoriaUnidadDTO() {
        return subcategoriaUnidadDTO;
    }

    public void setSubcategoriaUnidadDTO(SubcategoriaDTO subcategoriaUnidadDTO) {
        this.subcategoriaUnidadDTO = subcategoriaUnidadDTO;
    }

    public SubcategoriaDTO getSubcategoriaDTO() {
        return subcategoriaDTO;
    }

    public void setSubcategoriaDTO(SubcategoriaDTO subcategoriaDTO) {
        this.subcategoriaDTO = subcategoriaDTO;
    }

    public Set<ArticulosInventarioDTO> getArticulosInventario() {
        return articulosInventario;
    }

    public void setArticulosInventario(Set<ArticulosInventarioDTO> articulosInventario) {
        this.articulosInventario = articulosInventario;
    }

    public void addArticuloInventario(ArticulosInventarioDTO articulosInventarioDTO){
        if (this.articulosInventario == null){
           this.articulosInventario = new HashSet<ArticulosInventarioDTO>();
        }
        articulosInventarioDTO.setArticuloDTO(this);
        this.articulosInventario.add(articulosInventarioDTO);
    }
    public List<ArticuloCampoDTO> getArticuloCampoDTOs(){
        return articuloCampoDTOs;
    }
    public void setArticuloCampoDTOs(List<ArticuloCampoDTO> articuloCampoDTOs){
        this.articuloCampoDTOs = articuloCampoDTOs;
    }
    public void addArticuloCampo(ArticuloCampoDTO articuloCampoDTO){
        if (this.articuloCampoDTOs == null){
           this.articuloCampoDTOs = new ArrayList<ArticuloCampoDTO>();
        }
        articuloCampoDTO.setArticuloDTO(this);
        this.articuloCampoDTOs.add(articuloCampoDTO);
    }
    @Override
    public String toString() {
        return "ArticuloDTO{" + "idArticulo=" + idArticulo + ", code=" + code + '}';
    }

    public Set<ComprobanteDetalleDTO> getComprobanteDetalleDTO(){
        return comprobanteDetalleDTO;
    }
    public void setComprobanteDetalleDTO(Set<ComprobanteDetalleDTO> comprobanteDetalleDTO){
        this.comprobanteDetalleDTO = comprobanteDetalleDTO;
    }
    public void addComprobanteDetalleDTO(ComprobanteDetalleDTO comprobanteDetalleDTO) {
        if(this.comprobanteDetalleDTO == null){
            this.comprobanteDetalleDTO = new HashSet<ComprobanteDetalleDTO>();
        }
        comprobanteDetalleDTO.setArticuloDTO(this);
        this.comprobanteDetalleDTO.add(comprobanteDetalleDTO);
    }
}